package acwing.周赛;

import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Scanner;

/**
 * @author： li
 * @date： 2022-03-19 19:59
 * @version 1.0
 */
public class 合适对数 {
    static long t;
    static int n;
    static long[] a;
    static long ans=0;
    static ArrayList<Integer> b=new ArrayList<>();
    //用二进制状态压缩,也就是用二进制上的位来记录数有没有被用过。
// u是当前枚举到的数，state是二进制数记录哪些数被选
    static void dfs(int u ,int sum,int state){
        int l,r,i=0;
        if( sum==2){
            while (b.size()<2){
                if(((state >> i )& 1)==1)
                    b.add(i+1);
                    i++;
            }
            if(!b.isEmpty()){
            l=b.get(0);r=b.get(1);
                if((a[r]-a[l-1])<t)
                    ans++;
            }
            b.clear();
            return;
        }
        if( u == n) return;
        //根据题意要先将低位进行标记
        dfs(u + 1,sum+1, state | 1 << u);
        // 不用这个数，第u位不动
        dfs(u + 1,sum,state);


    }
    public static void main(String[] args) {
        Scanner sc =new Scanner(new InputStreamReader(System.in));
        n = sc.nextInt();
        t = sc.nextLong();
        a = new long[n+1];
        for(int i=1;i<=n;i++){
            a[i]=sc.nextLong();
            if(a[i]<t)ans++;
            a[i]=a[i]+a[i-1];
        }
        dfs(0, 0,0);
        System.out.println(ans);
    }
}
